﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ExamSchmaticWiring : MonoBehaviour
{

    //  public int CurWire = -1;
    // Use this for initialization
    public static Vector3 vec3, pos;//用于存放坐标，其变量类型也是Vector3，从官方文档抄来的，我也不知道为什么
                                    // Use this for initialization
    public Exam exam;

    void Start()
    {
        exam = GameObject.Find("ExamScript").GetComponent<Exam>();
        Init();
    }

    void Init()
    {
        exam.CurWire = -1;
        exam.wiringIndex = 0;
    }

    // Update is called once per frame
    void Update()
    {
        //设置原理图连线提示闪动
        if (exam.CurWire != exam.wiringIndex && exam.wiringIndex < exam.wiringObjects.Length)
        {
            exam.CurWire = exam.wiringIndex;
            //添加原理图连线闪烁
            exam.wiringObjects[exam.wiringIndex][0].AddComponent<UITwinking>();


            if (exam.CurWire > 0)
            {   //删除原理图连线闪烁
                Destroy(exam.wiringObjects[exam.wiringIndex - 1][0].GetComponent<UITwinking>());

                exam.wiringObjects[exam.wiringIndex - 1][0].GetComponent<CanvasGroup>().alpha = 1;
            }
        }
    }

    /*原理图窗口拖动*/
    //按下鼠标将会被触发的事件
    public void PointerDown()
    {

        vec3 = Input.mousePosition;//获取当前鼠标位置
        pos = transform.GetComponent<RectTransform>().position;//获取自己所在的位置

    }

    //鼠标拖拽时候会被触发的事件
    public void Drag()
    {
        if (!Input.GetMouseButton(0))
        { return; }
        Vector3 off = Input.mousePosition - vec3;
        //此处Input.mousePosition指鼠标拖拽结束的新位置
        //减去刚才在按下时的位置，刚好就是鼠标拖拽的偏移量
        vec3 = Input.mousePosition;//刷新下鼠标拖拽结束的新位置，用于下次拖拽的计算
        pos = pos + off;//原来image所在的位置自然是要被偏移的
        transform.GetComponent<RectTransform>().position = pos;//直接将自己刷新到新坐标
    }

}
